Magnetoresistive random access memory (MRAM) is a non-volatile memory technology that stores data through magnetic storage elements. The elements are two ferromagnetic plates or electrodes that can hold a magnetic field and are separated by a non-magnetic material, such as a non-magnetic metal or insulator. This structure is known as a magnetic tunnel junction (MTJ). MRAM devices are considered to be a next generation structure for a wide range of memory applications.
FIG. 1 illustrates an example of an MRAM cell 110 including an MTJ 120. In general, one of the plates (a reference layer or fixed layer 130) has its magnetization pinned, meaning that this layer has a higher coercivity than the other layer and requires a larger magnetic field or spin-polarized current to change the orientation of its magnetization. The second plate is typically referred to as the free layer 140 and its magnetization direction can be changed by a smaller magnetic field or spin-polarized current relative to that of the reference layer 130. The two plates can be sub-micron in lateral size, and the magnetization direction can still be stable with respect to thermal fluctuations.
MRAM devices can store information by changing the orientation of the magnetization of the free layer 140. In particular, based on whether the free layer 140 is in a parallel or anti-parallel alignment relative to the reference layer 130, either a binary value of “1” or a binary value of “0” can be stored in the MRAM cell 110 as represented in FIG. 1.
MRAM products based on spin transfer torque switching, or spin transfer switching, are already making their way into larger data storage devices. Spin transfer torque MRAM (STT-MRAM) devices, such as the one illustrated in FIG. 1, use spin-aligned (polarized) electrons to change the magnetization orientation of the free layer in the magnetic tunnel junction. In general, electrons possess a quantized number of angular momentum intrinsic to the electron referred to as spin. An electrical current is generally unpolarized; that is, it consists of 50% spin-up and 50% spin-down electrons. By passing a current though a magnetic layer, electrons are polarized with a spin orientation corresponding to the magnetization direction of the magnetic layer (e.g., polarizer), thereby producing a spin-polarized current. If the spin-polarized current is passed to the magnetic region of the free layer 140 in the MTJ device, the electrons will transfer a portion of their spin-angular momentum to the magnetization layer to produce a torque on the magnetization of the free layer. This spin transfer torque can switch the magnetization of the free layer 140, which in effect writes either a “1” or a “0” based on whether the free layer is in the parallel or anti-parallel state relative to the reference layer 130.
Due to the spin-polarized electron tunneling effect, the electrical resistance of the cell changes due to the orientation of the magnetic fields of the two layers 130 and 140. The electrical resistance is typically referred to as tunnel magnetoresistance (TMR), which is a magnetoresistance effect that occurs in an MTJ. The cell's resistance will be different for the parallel and anti-parallel states, and thus the cell's resistance can be used to distinguish between a “1” and a “0”.
STT-M RAM has an inherently stochastic write mechanism, in which bits have a certain probability of write failure on any given write cycle. The write failures are most generally random, and have a characteristic failure rate. A high write error rate may make the memory unreliable. The error rate can increase with age and increased use of the memory. Bit errors can result in system crashes, but even if a bit error does not result in a system crash, it can still be a problem because the error can linger in the system, causing incorrect calculations that can propagate into subsequent data. This is especially problematic in certain applications (e.g., financial, medical, and automotive applications) and is generally commercially unacceptable. The corrupted data can also propagate to other storage media and grow to an extent that is difficult to diagnose and recover.
In an MRAM write operation, a subsequent verify operation can be used to check if the write operation has completed successfully and that the correct data has been written. A verify can be implemented with a bias condition where the bit line is driven to a high potential while the source line is driven to a low potential to generate current across the MTJ so that the resistance measurement can be made. After data is written, the verify consists of reading the written data and, for example, executing error correcting code to confirm that the written data is correct. Hence, a verify operation is analogous to a read operation.
Thus, in a write-verify operation, bit values are written to memory cells then read from those memory cells. The verify operation can delay a subsequent write to other memory cells or can limit which memory cells can be written to while the verify operation is being performed.